#include <algorithm>
#include <iostream>
#include <cstdio>
#include <vector>
#include <set>
#include <queue>
#define EPSILON 1e-7
using namespace std;
bool canMeet(vector<int> a, vector<int> v, int N, double t) {
vector<pair<double, int>> events;
for (int i = 0; i < N; i++) {
events.push_back({a[i] - v[i] * t, 1});
events.push_back({a[i] + v[i] * t, -1});
}
sort(events.begin(), events.end(), [](const pair<double, int>& a, const pair<double, int> &b) {
if (abs(a.first - b.first) < EPSILON) {
return a.second > b.second;
} else {
return a.first < b.first;
}
});
int overlap_max = 0, overlap = 0;
for (auto it = events.begin(); it != events.end(); it++) {
overlap += it->second;
overlap_max = max(overlap_max, overlap);
}
return overlap_max == N;
}
// https://codeforces.com/contest/782/problem/B
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
// freopen("meeting-places.in", "r", stdin);
// freopen("meeting-places.out", "w", stdout);
int N;
cin >> N;
vector<int> a(N), v(N);
for (int i = 0; i < N; i++) {
cin >> a[i];
}
for (int i = 0; i < N; i++) {
cin >> v[i];
}
double low = 0;
double high = 1e12;
while (abs(high - low) > EPSILON) {
double mid = low + (high - low) / 2;
if (canMeet(a, v, N, mid)) {
high = mid;
} else {
low = mid + EPSILON;
}
}
size_t len = 100;
char chs[len];
snprintf(chs, len, "%.6f", low);
cout << chs << endl;
}
1342A - Road To Zero | 1520A - Do Not Be Distracted |
352A - Jeff and Digits | 1327A - Sum of Odd Integers |
1276A - As Simple as One and Two | 812C - Sagheer and Nubian Market |
272A - Dima and Friends | 1352C - K-th Not Divisible by n |
545C - Woodcutters | 1528B - Kavi on Pairing Duty |
339B - Xenia and Ringroad | 189A - Cut Ribbon |
1182A - Filling Shapes | 82A - Double Cola |
45A - Codecraft III | 1242A - Tile Painting |
1663E - Are You Safe | 1663D - Is it rated - 3 |
1311A - Add Odd or Subtract Even | 977F - Consecutive Subsequence |
939A - Love Triangle | 755A - PolandBall and Hypothesis |
760B - Frodo and pillows | 1006A - Adjacent Replacements |
1195C - Basketball Exercise | 1206A - Choose Two Numbers |
1438B - Valerii Against Everyone | 822A - I'm bored with life |
9A - Die Roll | 1430B - Barrels |